package com.xh.bussiness.system.service;

import com.xh.bussiness.permission.model.User;
import com.xh.bussiness.system.bean.dto.StudentBean;
import com.xh.bussiness.system.bean.dto.StudentDto;
import com.xh.bussiness.system.bean.request.StudentRequest;
import com.xh.bussiness.system.model.Student;
import com.xh.core.bean.XhPage;
import com.xh.core.service.IBaseService;

import java.util.List;
import java.util.Map;

public interface IStudentService extends IBaseService<Student> {

    List<Student> getStudentByUserId(String userId);


    /**
     * 分页查询方法
     * @param page
     * @param bean
     * @return
     */
    XhPage queryStudentPage(XhPage page, StudentRequest bean);

    /**
     * 查询方法
     * @param bean
     * @return
     */
    List queryStudent(StudentRequest bean);

    Student queryStudentById(String id);

    /**
     * 通过龙文业务系统id查询学生
     * @param lwStudentId
     * @return
     */
    Student queryStudentByLwStudentId(String lwStudentId);

    /**
     * 通过龙文学生id保存学生
     * @param lwStudentId
     * @return
     */
    Student addStudentByLwStudentId(String lwStudentId);

    Student initStudentByLwStuInfo(User user, Map<String, Object> studentMap, Object id);

    void addStudent(StudentBean studentBean);

    void updateStudent(StudentBean studentBean);

    List<StudentDto> queryByStatus(String classId, String name, Integer groupStatus);

    List<StudentDto> queryStudentByClassId(String classId);

    List<Student> queryByUserId(String id);
    // 同步校管家数据专用方法
    void saveOrUpadte(StudentBean studentBean);

    Student queryStudentByThridId(String thirdId);

    List<Student> queryByName(String name);
}
